# -*- coding: utf-8 -*-

from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step

from aw.common import common_setup, common_teardown
from aw.pom import DeskTop, ControlCenter


class PreTest_RK3568_Basic_Systemui_0700(TestCase, DeskTop):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1、进入桌面，左上角反复下划进入通知中心和右上角反复下滑进入控制中心各5次
    # 2、下滑控制栏，点击设置
    # 预期结果：
    # 1、画面稳定，无卡死现象
    # 2、跳转设置应用，无卡死、黑屏、白屏等现象

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1.1、进入桌面，左上角反复下划进入通知中心5次')
        for i in range(5):
            CommonOH.swipe(self.Phone1, **self.pull_down_notification_bar)
            CommonOH.wait(self.Phone1, 2)
            Step('预期结果1.1.{}、通知中心画面稳定，无卡死现象'.format(i))
            CommonOH.checkIfTextExist(self.Phone1, '没有通知')
            CommonOH.swipe(self.Phone1, **self.swipe_up)
            CommonOH.wait(self.Phone1, 1)

        Step('步骤1.2、进入桌面，右上角反复下滑进入控制中心5次')
        for i in range(5):
            CommonOH.swipe(self.Phone1, **ControlCenter.pull_down)
            CommonOH.wait(self.Phone1, 2)
            Step('预期结果1.2.{}、控制中心画面稳定，无卡死现象'.format(i))
            CommonOH.checkIfTextExist(self.Phone1, '控制中心')
            CommonOH.swipe(self.Phone1, **self.swipe_up)
            CommonOH.wait(self.Phone1, 1)

        Step('步骤2、下滑控制栏，点击设置')
        CommonOH.swipe(self.Phone1, **ControlCenter.pull_down)
        CommonOH.wait(self.Phone1, 2)
        CommonOH.click(self.Phone1, **ControlCenter.setting_btn)
        CommonOH.wait(self.Phone1, 1)
        Step('预期结果2、跳转设置应用，无卡死、黑屏、白屏等现象')
        CommonOH.checkIfTextExist(self.Phone1, '设置')

    def teardown(self):
        common_teardown(self.Phone1)
